#ifndef __MYSTDIO_H_
#define __MYSTDIO_H_

//刷新方式
#define FLUSH_NONE 1
#define FLUSH_LINE 2
#define FLUSH_FULL 4

//强制刷新和正常刷新
#define FORCE 1
#define NOMAL 2

#define SIZE 1024
#define UMASK 0666

typedef struct _MY_IO_FILE
{
    int fileno;//文件描述符
    int flag;//文件刷新方式
    char outbuffer[SIZE];//语言级缓冲区
    int curr;//缓冲区中字符数
    int cap;//缓冲区容量

}MYFILE;

MYFILE* my_fopen(const char* filename, const char* mode);//打开文件
void my_fclose(MYFILE* fp);//关闭文件
int my_fwrite(const char* str, int size, MYFILE* fp);//向文件写入内容
void my_fflush(MYFILE* fp);//刷新缓冲区




#endif
